perm filename DOC.LES[S,DOC] blob
sn#088905 filedate 1974-02-28 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00049 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00008 00002
C00009 00003 STANFORD ARTIFICIAL INTELLIGENCE PROJECT
C00012 00004 Table of Contents
C00015 00005 SAILON-60: DOCUMENTATION Introduction 1-1
C00019 00006 SAILON-60: DOCUMENTATION Introduction 1-2
C00023 00007 SAILON-60: DOCUMENTATION Existing Services 2-1
C00027 00008 SAILON-60: DOCUMENTATION Existing Services 2-2
C00032 00009 SAILON-60: DOCUMENTATION Existing Services 2-3
C00035 00010 SAILON-60: DOCUMENTATION Existing Services 2-4
C00039 00011 SAILON-60: DOCUMENTATION Existing Services 2-5
C00044 00012 SAILON-60: DOCUMENTATION Existing Services 2-6
C00047 00013 SAILON-60: DOCUMENTATION Existing Services 2-7
C00051 00014 SAILON-60: DOCUMENTATION Existing Services 2-8
C00056 00015 SAILON-60: DOCUMENTATION Existing Services 2-9
C00061 00016 SAILON-60: DOCUMENTATION Existing Services 2-10
C00065 00017 SAILON-60: DOCUMENTATION Existing Services 2-11
C00070 00018 SAILON-60: DOCUMENTATION Planned and Proposed Services 3-1
C00074 00019 SAILON-60: DOCUMENTATION Planned and Proposed Services 3-2
C00079 00020 SAILON-60: DOCUMENTATION Planned and Proposed Services 3-3
C00083 00021 SAILON-60: DOCUMENTATION Planned and Proposed Services 3-4
C00087 00022 SAILON-60: DOCUMENTATION Planned and Proposed Services 3-5
C00092 00023 SAILON-60: DOCUMENTATION Planned and Proposed Services 3-6
C00097 00024 SAILON-60: DOCUMENTATION TYPEWRITER CHARACTER SET A-1
C00098 00025 SAILON-60: DOCUMENTATION Computer Character Set B-1
C00102 00026 SAILON-60: DOCUMENTATION Computer Character Set B-2
C00106 00027 SAILON-60: DOCUMENTATION Computer Character Set B-3
C00108 00028 SAILON-60: DOCUMENTATION Media C-1
C00111 00029 SAILON-60: DOCUMENTATION Media C-2
C00113 00030 SAILON-60: DOCUMENTATION Media C-3
C00117 00031 SAILON-60: DOCUMENTATION Media C-4
C00119 00032 SAILON-60: DOCUMENTATION Media C-5
C00121 00033 SAILON-60: DOCUMENTATION Media C-6
C00123 00034 SAILON-60: DOCUMENTATION Media C-7
C00127 00035 SAILON-60: DOCUMENTATION Media C-8
C00128 00036 SAILON-60: DOCUMENTATION Media C-9
C00131 00037 SAILON-60: DOCUMENTATION Media C-10
C00133 00038 SAILON-60: DOCUMENTATION Media C-11
C00135 00039 SAILON-60: DOCUMENTATION Media C-12
C00138 00040 SAILON-60: DOCUMENTATION Media C-13
C00141 00041 SAILON-60: DOCUMENTATION Media C-14
C00143 00042 SAILON-60: DOCUMENTATION COSTS D-1
C00147 00043 SAILON-60: DOCUMENTATION COSTS D-2
C00150 00044 SAILON-60: DOCUMENTATION COSTS D-3
C00154 00045 SAILON-60: DOCUMENTATION COSTS D-4
C00158 00046 SAILON-60: DOCUMENTATION COSTS D-5
C00161 00047 SAILON-60: DOCUMENTATION COSTS D-6
C00165 00048 SAILON-60: DOCUMENTATION COSTS D-7
C00168 00049 SAILON-60: DOCUMENTATION References E-1
C00170 ENDMK
C⊗;
STANFORD ARTIFICIAL INTELLIGENCE PROJECT
OPERATING NOTE 60
February 1970
Documentation Services
by
L. Earnest
Abstract
This note reviews documentation policies and services of the Stanford
Artificial Intelligence Project. The costs of producing, reproducing
and maintaining documents in various ways are analyzed. Computer
terminals are found to be more econimical for text preparation than
typewriters in cases where the document is to be revised one or more
times. On a marginal cost basis, the line printer is the cheapest
practical printing service available to us for runs up to about 1000
pages.
It is proposed that forthcoming SAILONs be formatted in a way that
permits mechanized updating. A number of new documentation
services are proposed that take advantage of our computer facility.
Acknowledgement
Much of the cost information used below was developed by Ken Down and
Gerry Gleason. Their help is gratefully acknowledged.
This work was supported in part by the Advanced Research Projects
Agency of the Department of Defense under Contract SD 183.
Table of Contents
Sections Page
1 Introduction 1-1
2 Existing Services 2-1
2A Production 2-1
2B Reproduction 2-5
2C Maintenance 2-8
3 Planned and Proposed Services 3-1
3A New Displays and Memory 3-1
3B Video Synthesizer 3-1
3C ARPA Network 3-1
3D Display Editors and Perusers 3-2
3E Document Compiler 3-3
3F Formatted File Processors 3-3
3G Spelling Checker 3-4
3H Microfilm Output 3-5
3I Graphics Language and Processors 3-5
4 Conclusions 3-6
Appendices
A Typewriter Character Set A-1
B Computer Character Set B-1
B1 Internal Character Set B-1
B2 Control Characters B-2
B3 Printed Characters B-3
C Media C-1
C1 External Publications C-1
C2 Film Reports C-2
C3 Artificial Intelligence Memos C-3
C4 Operating Notes (SAILONs) C-7
C5 Letters C-9
C6 Memoranda C-11
C7 Program Notes C-12
C8 Notices C-13
C9 Messages C-14
D Costs D-1
D1 Text Preparation Equipment D-1
D2 Page Reproduction D-3
D3 Report Reproduction D-5
D4 Docment Storage D-7
E References E-1
SAILON-60: DOCUMENTATION; Introduction 1-1
1. Introduction
The most important products of our research program are new ideas
that are transmitted to the outside world. Many of these ideas move
through volatile channels such as informal verbal communications and
papers presented at conferences. While these media serve the very
important function of alerting people to new ideas, the fundamental
medium of exchange is documentation of some form. Behind nearly
every good idea is a pile of paper proving that it is true, useful,
and virtuous.
Members of the Artificial Intelligence Project have a number of
alternative documentation forms to choose from, including
1) external publication in conference proceedings, journal
articles, and books,
2) film reports on subjects that lend themselves to
audio-visual presentation,
3) Artificial Intelligence Memos on research results, and
4) Operating Notes (SAILONs) on the theory and operation of
computer programs and equipment.
Less formal media include letters to colleagues outside Stanford and
memoranda to others in Stanford. Each document class has a different
purpose and distribution pattern. Constraints on the various
documentation forms are discussed in Appendix C.
The proper measures of a document's value are the quality, density,
and clarity of ideas presented. Documentation volume is known to be
misleading as a measure of value but is interesting nonetheless.
Figure 1-1 lists by calendar year the number of people who had at
least part of their salary paid by the A.I. Project at the beginning
of the year (January) and the number of publications of various types
published during the year. It should be noted that at any given
time, there were an additional 30% to 60% of other people affiliated
with the Project who had fellowships or other support.
FIGURE 1-1. A.I. PROJECT PUBLICATION VOLUMES
Calendar Year 1963 1964 1965 1966 1967 1968 1969
Salaried Staff 0 6 15 30 41 51 64
(January)
External Pubs. 4 0 1 4 14 17 23
Film Reports 1 1 2
Ph.D. Theses 3 2 4 5
Other A.I. Memos 11 15 11 7 9 14 28
SAILONs 3 31 17 15
SAILON-60: DOCUMENTATION; Introduction 1-2
Initially, A.I. Memos were essentially the only kind of project
document used and some were employed to describe programs or
equipment, rather than research results. With the delivery of the
PDP-6 computer in 1966, the SAILON series was initiated for the
description of such systems.
The continuing growth of our programming activities makes it
appropriate now to propose another kind of document, called a Program
Note, which is even less formal than a SAILON and is used to describe
small system programs or user programs that have not yet been
released for general use. In general, the text of Program Notes will
be kept in computer files available to those who need them. Their
creation and modification will be the responsibility of the
originator, but they should adhere to the format constraints given in
Appendix A7, below.
When analyzing statistics such as those of Figure 1-1, it is
traditional to observe that the populations of both people and
publications are increasing exponentially with time. Using this
assumption and making a least-squared-log fit to the data, we may
extrapolate to the year 2001, as shown in Figure 1-2.
FIGURE 1-2, EXPECTED A.I. PROJECT PUBLICATION VOLUME
Calendar Year 2001
Salaried Staff (January) 157,911,246
External Publications 28,867,037,200
Film Reports 116,772
Ph.D. Theses 5,726
Other A.I. Memos 270
SAILONs 17,552,813
It is encouraging to note that we will have over 157 million salaried
staff members on the project, but consider the publication
responsibilities! Each staff member will have to write an average
of 182 journal articles per year. It would appear that by that
time, nearly all U.S. publishing will originate in the A.I.
Project. In anticipation of this awesome responsibility, we must
automate document production as fully as possible.
SAILON-60: DOCUMENTATION; Existing Services 2-1
2. Existing Services
Our existing document production methods are a mixture of the
traditional approach (scribble-type-reproduce) and newer alternatives
(edit and list using the computer). The choice of method is
controlled by the capabilities, limitations, and economics of the
alternatives. This section analyzes available methods of document
production, reproduction, and maintenance, and the associated costs.
2A. Production
The basic alternatives for document production are typing on paper or
editing a text file on the computer. For one-shot production of a
document, typing is usually faster and cheaper. There is also a
larger character set available with typewriters, using changeable
keys and Typits. Appendix A lists the typewriter character set
available at the A.I. Project.
In cases where the text will be modified, it may be advantagious to
use a computer text editor. The best one around currently is SOS,
which includes interactive text justification (Reference 1). The
computer character set is given in Appendix B.
Special page headings and page numbers such as those used in this
note may be added by running the text file through the XEROX program
(Reference 10). Another way of getting justified text, optionally
with multiple columns, is to run it through the text justifier (TJ,
Reference 2).
If you wish to replicate a piece of text with sets of string
substitutions (e.g. a form letter to a number of addressees), a
rudimentary program for doing this exists (Freeforol, Reference 3).
Line drawings may be prepared in any of several ways:
1. directly on paper or
2. through the computer
a) by preparing a vector display (e. g. using PIX,
Reference 7) and photographing it,
b) by composing a text file that approximates the desired
line drawing (Figure 2-1 is an example), or
c) by writing a special program to drive the Calcomp
plotter.
Better computer graphics facilities are planned (see Sections 3B, 3D,
3H and 3I below).
SAILON-60: DOCUMENTATION; Existing Services 2-2
Figure 2-1 LINE DRAWING EXAMPLE
Memory
Multiplexer
| |
| |
____↓_↓____
| |
| Display | Type 167
| Interface | Data Channel
|___________| ↑
| | |
| | |
____↓_↓____ sync. |
| |_____________________________________ |
| Data Disc | ___ ___↓____ | _↓__↓__↓_ __________ |
| Display | / \ | | | | | | | |
| Generator |---- 8 ----→| Video | | | Cameras | | Cart | |
|___________| \___/ | Synth. | | | | | Receiver | |
| |________| | |_________| |__________| |
| | | | | | | |
_|_ | | | | | | |
/ \ ___↓_______↓____↓__↓__↓_________↓___ |
| 24 | | | |
\___/ | Video Switch | |
| |____________________________________| |
| | | |
| _|_ ___↓____________|__
| / \ | |
| | 25 | | Camera Interface |
| \___/ |___________________|
_____↓_____ |
| | ___ _________________↓__________________
| Digital | / \ | |
| Mixer |---- 25 ----→| Final Mixers |
|___________| \___/ |____________________________________|
|
_|_ _____________
/ \ | |
| 25 |-→| Patch Panel |
\___/ |_____________|
|
↓
Monitors
SAILON-60: DOCUMENTATION; Existing Services 2-3
The equipment costs associated with alternative text preparation
methods are given in Figure 2-2. The allocation of charges for
PDP-10 terminals between fixed monthly cost and hourly operating cost
is somewhat arbitrary, inasmuch as most of the equipment has been
purchased. Assuming terminal utilization of 120 hours per month (e.g.
6 hours per day for 20 days per month), the total monthly costs would
be as shown in the right column. In actual practice, the displays are
used over 300 hours per month, while the teletypes and IBM 2741 are
used less than 80 hours.
Figure 2-2 Text Preparation Equipment
The basis for these estimates is given in Appendix D1.
Operating Total Cost
Fixed Cost Cost (120 hr/mo)
Typewriter
IBM Model D and related
equipment $16.15/mo $ .16/hr $ 42/mo
AI PDP-10 Terminals
Model 33 Teletype at 37.21 1.00 157
A.I. Lab
Model 33 Teletype at 60.20 1.00* 180
remote phone
Model 37 Teletype at 54.89 1.00 175
A.I. Lab
ARDS Terminal at 273.50 1.50 454
A.I. Lab
III Display Terminal 361.55 1.50 542
at A.I. Lab
DD Display Terminal 60.60 1.50 241
at A.I. Lab
SCC 360/67 Terminal
IBM 2741 at A.I. Lab 153.87 5.00 754
*Plus any message unit or long distance charges. In operating from
Saratoga, California, for example, add $2.60 per hour. From Boston,
Massachusetts, add $20.00 per hour at night, $34.00 days.
SAILON-60: DOCUMENTATION; Existing Services 2-4
In analizing the cost of text preparation, personnel costs and
productivity should be taken into account. Figure 2-3 gives
estimates of the the cost per page of text prepared using certain
devices. The estimates of productivity are based on rather limited
observations and reflect the following considerations.
1. Typewriter text preparation is relatively fast for a good typist.
Of course, any substantial blunder may force the retyping of one or
more pages of text.
2. The Teletypes and IBM 2741 terminals avoid extensive retyping
for error correction, but text is occasionally lost in computer
failures. In addition, the typist is slowed by the printing of a
line number after every carriage return.
3. Conventional text preparation on a Model 33 Teletype is further
slowed by its speed limitation (10 characters per second) and the
need to transliterate case shifts into special two-character
combinations . The latter feature is particularly troublesome in the
preparation of tabular formats.
4. Displays offer the best of both worlds, except for computer
lossage.
Figure 2-3 suggests that one-shot text production can be done most
efficiently on a typewriter, but that for text that is to be revised
it is less expensive to use a computer terminal.
Figure 2-3 Text Preparation Cost
Equipment + Typical Cost Per
Typist Cost* Productivity Page
Typewriter
IBM Model D $6.35/hr 6 pages/hr $1.06
AI PDP-10 Terminals
Model 33 TTY 7.31 3.5 2.09
Model 37 TTY 7.46 5 1.49
III Display 10.52 7 1.50
DD Display 8.01 7 1.14
SCC 360/67 Terminal
IBM 2741 12.28 5 2.46
*Assumptions: typist costs $6.00 per hour (including overhead) and
the device is used 120 hours per month.
SAILON-60: DOCUMENTATION; Existing Services 2-5
Note that the costs considered above are all "average", representing
the sum of fixed costs and variable costs based on average
utilization. This is the appropriate measure to consider in deciding
which kind of equipment to procure to do a given job, but is
inappropriate for short-range questions such as "How should this
document be typed?". For such questions, one should consider only
marginal costs (i.e. the incremental costs associated with using the
various devices, given that they are available) and productivity.
In the A.I. Laboratory, since nearly all the equipment has been
purchased, the marginal costs are negligible except for the IBM 2741.
Thus, the best way to prepare text is to use the most productive
device that is available. In particular, you should choose the first
available device on the following list:
1) a display,
2a) if "one-shot" text, a typewriter, or
2b) if text to be revised, a Model 37 Teletype,
3) a Model 33 Teletype
4) a typewriter.
2B. Reproduction
The salient factors controlling choice of reproduction method are
copy quality, time and cost. There are four basic reproduction
processes readily available to us: computer line printers, computer
terminals, xerox copiers, and offset printers. While there are some
differences in copy quality among these alternatives, all are
adequate for Project publications.
Figure 2-4 lists the cost and time for certain numbers of copies of a
single original page, which is assumed to hold about 600 words of
text, including both upper and lower case characters. The times
given are for a document originating and ending in the A.I.
Laboratory and include any necessary travel to or from campus.
On the basis of average cost, the A.I. Xerox machine is cheapest for
runs of up to 7 copies, where offset printing takes over.
Given that all these services exist, of course, we should make
day-to-day choices of copying method on the basis of marginal costs
(i.e. neglecting fixed costs, such as personnel time, and equipment
purchase costs or monthly rental). It is seen from Figure 2-4 that
on this basis, the Model 37 Teletype is cheapest, if you can afford
to wait. While the Model 37 generally has better print quality (and
smaller character set) than the line printer, its printing rate of
about 15 pages per hour makes it impractical for any but very short
runs.
The line printer, which prints about 6 pages/minute, is a practical
choice up to about 1000 copies (2.8 hours), where offset printing
becomes more economical and usually faster as well.
SAILON-60: DOCUMENTATION; Existing Services 2-6
Figure 2-4 Cost of Reproducing One Original Page
The basis for these estimates is given in Appendix D2.
Method Number of Copies
1 5 10 20 50 100 200 500 1000 2000 Time
AI Line Printer
(ave.) .15 .44 .79 1.50 3.63 7.18 14. 36. 71. 142. 6 pages/min
(marg.) .02 .05 .08 .14 .34 .66 1.30 3.22 6.42 13.
SCC Line Print. 6.50 6.50 6.50 6.50 8.50 10.50 16. 31. 50. 73. 1-24 hours
AI Teletype (37)
(ave.) .53 2.37 4.67 9.27 23. 46. 92. 230. 460. 920. 15 pages/hr
(marg.) .01 .02 .03 .06 .15 .30 .60 1.50 3. 6.
SCC Terminal (2741)
(ave.) .85 3.81 7.51 15. 37. 74. 148. 370. 740. 1480. 15 pages/hr
(marg.) .31 1.35 2.65 5.25 13. 26. 52. 130. 260. 520.
AI Xerox
(ave.) .11 .34 .59 .98 2.15 4.10 8. 20. 39. 78. 12 pages/min
(marg.) .05 .22 .39 .63 1.35 2.55 4.95 12. 24. 48.
SCC Xerox .10 .50 1.00 1.75 3.25 5.75 10.75 26. 51. 101. 1-24 hours
SCC Offset 1.93 1.93 1.93 1.93 1.93 1.93 2.33 4.25 5.85 11.30 2-48 hours
SEL Offset 3.75 3.75 3.75 3.75 3.75 3.75 4.13 4.88 6.38 12.25 2-48 hours
SPR Offset .36 .40 .45 .55 .85 1.35 2.35 5.35 7.70 12.90 2-48 hours
NOTE: AI = Stanford Artificial Intelligence Project
SCC = Stanford Computation Center
SEL = Stanford Electronic Laboratories
SPR = Stanford Photo Reproduction Services
SAILON-60: DOCUMENTATION; Existing Services 2-7
If the page must be reproduced from hard copy, then Xerox is least
expensive up to about 15 copies, where offset takes over. If you
are in a hurry for 200 copies, however, A.I. Xerox costs only $2.60
more than offset. Counting travel time, Xerox is the fastest method
available to us for up to about 1000 copies, where offset takes over.
In reproducing reports, there are additional costs of collating and
binding. Figure 2-5 shows the cost of making 200 copies of several
report sizes, which is a typical run for the A.I. Project. It is
seen that on an average cost basis, SEL offset is least expensive in
all cases.
On a marginal cost basis, the A.I. line printer is shown to be least
expensive in all cases, but the assumption of non-interference with
other functions of the line printer and personnel becomes
implausible, even for a report of only 10 pages. The line printer
time would be over 5.5 hours for this case and someone would be
fairly busy throughout the time bursting, trimming, and stapling the
reports. All things considered, offset printing is generally the
more practical way to reproduce reports. The cost per copy ranges
from $ .17 for a 10 page report to $1.91 for a 200 page report. For
any size report, the cost of adding one more page (in a 200 copy run)
is about $1.75.
Figure 2-5 Cost of 200 Copies of a Report
The basis for these estimates is given in Appendix D3.
Method Report Pages
10 50 100 200
AI line printer
(ave.) $142 $710 $1420 $1840
(marg.) 13 74 148 286
AI Xerox
(ave.) 89 448 896 1792
(marg.) 50 248 495 990
SCC Xerox 128 576 1176 2353
SCC Offset 44 168 301 583
SEL Offset 33 103 196 381
GL Offset 100 137 269 533
NOTE: GL=George Lithography (a commercial printer)
SAILON-60: DOCUMENTATION; Existing Services 2-8
2C Maintenance
Throughout the useful life of a report, copies must be kept available
for those who need them and corrections or modifications may have to
be made. In the past, we have used three different maintenance
procedures, which I shall call "batch print", "revise and copy", and
"cumulative supplement". Each of these has shortcomings in some
cases, as discussed below. Another scheme that may be termed
"automatic update" is proposed subsequently.
Under a straight "batch print" approach, enough copies are printed
initially to satisfy immediate and foreseeable needs. If these run
out or if the document is revised, then a new batch is printed.
When using "revise and copy", at most a few copies are kept on hand.
The text is kept up-to-date in a computer file or on paper and copies
are made as needed, using the line printer or Xerox copier.
The "cumulative supplement" approach begins with a batch printing.
All changes are accumulated in a supplementary document, which may be
maintained by either the "batch print" or "revise and copy" method.
When the original report supply is exhausted, it is revised and batch
printed again.
The selection of a maintenance procedure should take into account the
size and stability of the document. If we define a "large" document
to be one over 15 pages and take "stable" to mean that it is revised
less frequently than once every six months, then our A.I. Memos are
nearly all large and stable. SAILONs are both large and small and
mostly unstable. Program Notes are mostly small and unstable.
For stable documents, the "batch print" and "cumulative supplement"
methods work rather well. We employ these procedures for A.I. Memos.
For small unstable documents the "revise and copy" procedure works
well and has been used for both SAILONs and Program Notes.
Large unstable documents are relatively troublesome. The "batch
print" method often requires substantial inventories to be sacrificed
at revision time. In addition, holders get new copies and throw away
the old one, even though its content may be largely correct.
"Revise and copy" for large unstable documents requires long Xerox or
line printer runs. The Xerox approach is quite expensive, while the
programming community regards long line printer runs as antisocial or
worse.
The "cumulative supplement" method is fairly economical, but has two
annoying features:
1) the author must make all changes twice, once in the
supplement and again in the main document at revision time;
2) if the reader wishes to keep the main document up-to-date,
SAILON-60: DOCUMENTATION; Existing Services 2-9
then for each change he must enter in the main document
either the change or a reference to the appropriate part of
the supplement.
I believe that an "automatic update" approach to the maintenance of
our large unstable documents can be made to work more efficiently.
The proposed procedure is as follows:
1) The document is prepared initially with each major section
starting on a new page and with separate page number
sequences for each such section (e. g. in the form
<section number>-<page number>). It is batch printed in the
usual way.
2) As corrections or changes are made, they are kept in
context in a computer text file.
3) An additional computer file is maintained that records for
each set of changes in the date and pages that are affected.
4) An updating program will allow users to request changes to
selected documents subsequent to a given revision number or
date and will print all (and only) the affected pages. All
revisions are reflected in the front page, which contains the
revised number and date. Thus, the currency of the document
can be determined by inspecting just the first page.
5) Whenever the main document inventory is exhausted, the
latest version is batch printed.
This will allow readers to keep their manuals up-to-date with a
minimum of effort and online printing. The key element of the
procedure is the update program, which is now operational (Reference
5).
Document maintainence policies should take into account the cost of
storing documents. Figure 2-6 gives unit capacities and costs for
several media and the approximate monthly cost of storing a 200 page
report in the various forms. As might be expected, storage in paper
form is relatively inexpensive, but magnetic tape is nearly as
economical. In cases where the alternatives are to keep just one
copy on magnetic tape or a number of paper copies, then magnetic tape
is markedly cheaper.
It can be seen from Figure 2-6 that the cost of keeping sizable
reports online (in disk files) is rather high. This argues in favor
of keeping the full text of large documents off line (say, on
magnetic tape or Dectape), while keeping small reports and correction
pages for large ones online. I propose that we keep documents
shorter than 15 pages online, which would keep the effective storage
cost for each below $2.25 per month.
SAILON-60: DOCUMENTATION; Existing Services 2-10
Figure 2-6 Document Storage
The basis of these estimates is given in Appendix D4.
Unit Marginal 200 Page Report
Medium Capacity* Cost/Page Storage Cost
Paper in file
cabinet 12,000 pages $.00025/mo. $.05/mo.
AI mag tape 1,853 .00030 .06
SCC mag tape 3,200 .00063 .13
AI Dectape 410 .0010 .20
AI disc pack 4,267 .0037 .74
(offline)
SCC disk pack 5,990 .0067 1.34
(offline)
AI disc file 21,333 .15 30.
SCC disk track 1.6 .28 56.
*Assumptions: 1) an average of 3,600 characters per page,
2) file cabinet and tapes are half full, while
disk packs are 75% full.
It may be desirable to keep a few large texts online (e.g. the
monitor manuals), but these will be treated as exceptions.
In anticipation of employing more online documentation, a
pseudo-programmer named DOC has been invented. All of DOC's files
contain documentation of some sort. The project-programmer
combinations that have been defined to date are as follows.
[1,DOC] contains a directory to other DOC file areas (in DIR) and
will have other files of general interest, including a summary of
current A.I. Project activities and various bibliographies (such as
lists of A.I. Memos, film reports, and SAILONs).
[S,DOC] contains computer system documentation, including some
SAILONs, corrections to others, and all Program Notes that describe
SYS programs (i.e. that reside in the CUSP file area [1,3]).
[NEW,DOC] contains files that list changes in documents stored in
[S,DOC], for use by the Manual Lister (Reference 5).
SAILON-60: DOCUMENTATION; Existing Services 2-11
[UP,DOC] contains Program Notes describing user programs that are
available for limited use. Programs described in [UP,DOC] are
generally kept in the author's file area rather than in SYS. Users
understand that such programs may be changed at any time without
notice.
[P,DOC] contains personnel lists of various sorts, such as a phone
list, a programmer list, the distribution lists for A.I. Abstracts,
and lists of certain equipment manufacturers and their local
representatives. For the present, any changes to these files must be
channeled through the Project Secretary. (Changes made directly in
the file will automatically disappear the next time it is revised.)
Other specialized file areas will be set up as needed and recorded in
DIR[1,DOC].
In order to keep the document files straight, some additional naming
conventions are needed. It is proposed that the file name and
extension be interpreted as
<program name>.<document type>
where <document type> is "AIM" for A.I. Memos, "ON" for SAILONs, and
<author's initials> for Program Notes. This will permit users to
obtain quite a bit of infromation from a directory listing.
To permit continued operation without file protection or other
controls on the DOC files, certain protocols must be observed.
1) No one other than the author or his proxy may alter a DOC file.
If you wish to take exception to something in an existing file, you
may create a dissenting file having the same name, but a different
extension. The extension may be your intitials, or may be used to
express your degree of dissent (examples: POO, FOO, or URP). In the
latter case it is important that you identify yourself in the file.
Hopefully, some resolution of views and merger of files will
eventually come about through dialogue between interested parties.
2) To protect against accidental alterations, each author is expected
to keep a private copy of his text files in a safe place. This is
particularly important at present, since the only means we have for
perusing text files are editing programs, which can alter the file if
a typing error is made. Better perusal programs are planned.
3) Computer users are asked not to list entire text files when
printed versions already exist. In cases where a large amount of
listing is necessary, it should be broken into runs of no more than
10 minutes, so that other users may get short listings in between.
SAILON-60: DOCUMENTATION; Planned and Proposed Services 3-1
3. Planned and Proposed Services
Several equipment acquisitions are planned for the near future and a
number of programs are proposed that will facilitate document
production.
3A. New Displays and Memory
The planned acquisition of twenty-some new display terminals will
facilitate online text preparation. The primary system bottleneck is
expected to move to the central processor and core memories. We hope
to acquire sufficient funding to obtain an additional 131K words of 1
microsecond core memory, which should permit the PDP-10 to be fully
utilized. Just how many online users the system will be able to
support is unknown, but it should be at least 30. If we can resist
the urge to let more people in, this should be quite adequate.
STATUS: it is hoped that the new local display system based on a
Data Disc display generator will be at least marginally usable by
March 1970. The funding of the core memories is uncertain at
present.
3B. Photographic Terminal
A display terminal is being constructed to synthesize gray-scale
pictures for photographic output. A synthesizer generates pictures
from computer data with resolution up to 4096x4096 points (though the
scope exhibits only about 1500x1000 distinct points) and 512 gray
scale steps. It displays the results on the Tektronix Type 611 scope
(part of the ARDS terminal) in nonstorage mode. The synthesizer
connects to the DEC Type 136 in the Kludge bay.
Raster size and resolution are controlled by the computer. The gray
scale is generated by varying the speed with which the beam is moved,
rather than by modulating the beam current as in a conventional
television monitor.
A computer controlled switch determines whether the scope is
listening to the synthesizer or the ARDS. This permits
ARDS-generated labels to be added to photographs. It has recently
been discovered that if the synthesizer has cycled a few times and
the scope is then switched to storage mode, a stable picture with
some gray scale results.
STATUS: L. Quam has built it and it works. There is some system
programming yet to be done.
SAILON-60: DOCUMENTATION; Planned and Proposed Services 3-2
3C. ARPA Network
A store-and-forward communication network linking a number of ARPA
contractors is under development. It employs 50,000 bit/second links,
with each site connected to two or three others. A small processor
(Honeywell DDP-516) called an IMP (for Interface Message Processor),
is provided at each site to perform the communication functions and
talk to the host computer.
When we join this network, we will have indirect access to a number
of services and facilities in other research centers, subject to
bilateral negotiation. Among the 20 or so groups expected to
participate are the A.I. Projects at M.I.T. and Carnegie, the
Illinois group with their Illiac IV kludge, and our neighbors at
S.R.I. The latter group plans to offer a number of documentation
services.
STATUS: A 4 node network linking S.R.I., U.C. Santa Barbara,
U.C.L.A., and the University of Utah has just commenced experimental
operation. We are scheduled to join the network in July 1970.
3D. Display Editors and Perusers
While SOS is among the best teletype editors in existence today, it
does not adequately exploit the capabilities of display terminals.
For example, the results of text alterations are not always shown
directly. A proper display editor is needed that shows up to three
segments of text simultaneously and allows the operator to move
cursors around quickly to effect editing functions.
There is also a need for a display program for perusing text files
without altering them. This can probably best be realized through a
subset of the display editor commands. Perhaps it should be the same
program, operating in read-only mode.
A related but independent need is the ability to create and modify
line drawings, a la Sketchpad. I believe that a good graphics editor
should be able to accept picture definitions from a scorpion, mouse,
light pens, or a suitable graphical description entered through a
keyboard. The product of this editor would be a representation of
text and graphics in an internal graphics language (about which more
below).
A still more elegant editor would permit the definition of
three-dimensional objects and would provide for their display either
as perspective line drawings or as shaded pictures similar to a
photograph, as is being done at the University of Utah.
STATUS: R. Neeley has written a graphics editor called PIX that uses
scorpion inputs to generate line drawings in the form of III display
code (Reference 7). S. Savitzkey claims to be designing a new super
editor that will exploit the displays. B. Baumgart is working on
SAILON-60: DOCUMENTATION; Planned and Proposed Services 3-3
programs for the generation of perspective line drawings and shaded
pictures.
3E. Document Compiler
While the text justifiers in TJ and SOS avoid certain chores in
document production, they still leave many cross-referencing tasks to
the author or typist. In particular, references to other sections,
appendices, bibliographic entries, footnotes, or page numbers must be
entered by the preparer. Any alterations of the text are then likely
to produce erroneous cross-references unless a careful search is made
for those that may have changed.
A better way to handle this would be to provide labels similar to
those used in programming and permit other portions of the document
to refer to the page, section, reference, or whatever, in which a
given label appears. The labels would not, in general appear in the
compiled text.
Another bookkeeping function that should be automated is the
numbering of sections, figures, equations, footnotes, and references.
The compiler should permit the author to choose his own numbering or
lettering schemes and hierarchy (e.g. subsections, sub-subsections,
etc.). With these facilities, the production of tables of contents
and indexes could be made semi-automatic.
The document compiler should permit flexible control of layouts and
should provide for the inclusion of line drawings and photographs.
Ideally, it would be linked interactively with a display editor, so
that the user could see directly the results of his alterations and
make further changes as needed.
STATUS: D. Swinehart has written a program that does some of these
things and some others that are specialized to his SAIL documentation
project. For understandable reasons, he is unlikely to continue
working in this area. Therefore, the document compiler is up for
grabs.
3F. Formatted File Processor
There are a number of problems that can best be handled through the
creation and manipulation of formatted text files. Examples include
bibliography compilation, phone list maintenance, budget preparation,
and the distribution of reports or abstracts to interested persons.
Our existing text editors can be used to create formatted files of
various sorts, but we need a file processing program with the
following properties.
1) A versatile scanner that can read variable-length records in
assorted formats;
SAILON-60: DOCUMENTATION; Planned and Proposed Services 3-4
2) facilities for error-checking and interactively correcting file
entries;
3) sort and merge capabilities;
4) a limited ability to transform portions of records and to count
instances or sum fields either over the whole file or within
subfiles; and
5) a flexible report generator that permits selected fields to be
embedded in arbitrary text for output.
A formatted file "peruser" is needed for interactively searching and
updating existing files. This program would use many of the same
functions outlined above and, when operated, would generate a
transaction log, which is another formatted file that records the
searches that have been performed and the changes that have been made
in the information files. The transaction log would be processed
later to determine such things as which kinds of information files
are used the most and which not at all. It would also permit
information files to be restored when foolish or malevolent changes
are discovered.
STATUS: The existing FREEFOROL program (Reference 3) has only a
restricted scanner and a modest report generator. L. Earnest claims
to be writing a new program that will perform the first set of file
processing functions outlined above. The peruser may follow later.
3G. Spelling Checker
Another useful program would be one that scans text looking for
misspelled words or simple syntactic errors. This program would work
interactively, using a large dictionary, and display in context any
words that are not recognized. The operator could then take one of
the following actions:
1) approve this instance of the word only,
2) approve the word for this document, causing it to be entered in a
temporary dictionary such that subsequent occurrences will be
recognized;
3) approve the word for all documents, causing it to be entered in
the master dictionary;
4) correct the word and specify that any subsequent occurrences will
be automatically corrected in the same way; or
5) correct the word and specify that any subsequent occurrences are
to be reviewed.
SAILON-60: DOCUMENTATION; Planned and Proposed Services 3-5
This program could also check for such things as capitalization of
the first letter of a sentence or certain kinds of erratic
punctuation.
Whenever new words are added to the master dictionary or misspellings
are corrected, this information would be entered in a transaction
log. This log would subsequently be reviewed to double check the
accuracy of new dictionary entries and to permit common misspellings
to be entered in another file. This misspelling file could
subsequently be used by the spelling checker to prompt the user, as
in "Shall I change `supercede' to `supersede'?".
Another possible byproduct of this program would be a a concordance
(i.e. for each word, a list of the places it is used). If the
dictionary distinguished common and uncommon words, the concordance
could be compiled just for the latter, which could aid in creating an
index to the document.
STATUS: One element of the proposed system already exists:
L. Earnest has on Dectape a list of the 10,000 most frequently used
English words, exluding proper nouns, and the frequency of each. No
one is working on a spelling checker currently. A volunteer is
solicited.
3H. Microfilm Output
There are commercial services that accept magnetic tape containing
digital descriptions of text and line drawings and produce microfilm
images. If we write programs to generate tapes in the right format,
we will be able to produce finished documents in this form. The
microfilm images can, in turn, be transferred to mats for offset
printing. Animated films may also be generated in this way.
George Lithography of San Francisco offers microfilm service on a
Digigraphix 4060 with about 2 day turnaround. They have a set of
FORTRAN routines designed for use with 360 systems that generate
tapes in the right format. In order to use their system, we must
either modify the FORTRAN routines to work with our character set or
write a new set of routines.
STATUS: Documentation on the Digigraphix 4060 and the FORTRAN
routines is in our hands, but no one is working on it yet.
3I. Graphics Language and Processors
We have a standard internal character set (Appendix B, below) and a
de facto standard text file format (SAILON 50.1, Appendix 4).
Neither the internal character set nor the STOPGAP text format fully
exploit the capabilities of all character-oriented peripheral
devices, but they are adequate for most tasks.
SAILON-60: DOCUMENTATION; Planned and Proposed Services 3-6
We are making increasing use of line drawings and pictorial
information in our work. It would be most advantageous, I think, if
we could agree on standard internal representations for these
entities. Ideally this standard would permit the description of text,
line drawings, pictures, or mixtures thereof. It need not exploit
all the capabilities of our various display devices, but should be
sufficiently flexible to handle most tasks.
I believe that a graphics language should be developed that does not
rigidly specify formats but rather permits the description of
whatever format is used. If we agree on such a language, we can
write one set of standard processors that will output graphical
material to the various devices, rather than having to write them
into each program.
The line printer processor, for example, might have several modes. In
one mode, it would print just the text and hand over any non-standard
characters or line drawings to a Calcomp program, while pictorial
data would go to the photographic terminal. The user could then
overlay the printer output with the Calcomp plot (taking advantage of
the translucence of the Calcomp paper) and then paste on photographs
where appropriate. Alternatively, the entire file could be processed
onto magnetic tape for offline generation of microfilm.
In another mode, a "quick and dirty" version of a document could be
produced by converting line drawings to combinations of graphic
characters, such as underbar, vertical bar, slash, and backslash.
Similarly, pictorial data would be approximated by overprinting black
regions a number of times, while representing lighter regions with
less dense characters, as we do now for wall hangings. This version
could then be produced on the line printer alone.
If we are able to devise a workable graphics language, it is likely
to have some influence on information exchange procedures in the
proposed ARPA network. If we do not devise such a language, we will
likely have to accept some other group's bad ideas.
STATUS: Various people (including me) talk about this problem, but
no one seems to be doing anything.
4. Conclusions
Our collective documentation services are improving, but there is
much work to be done. Volunteers are solicited, especially on the
under- (or un-) commited tasks, namely a graphics editor, document
compiler, spelling checker, microfilm output, and graphics language
with processors.
SAILON-60: DOCUMENTATION; TYPEWRITER CHARACTER SET A-1
APPENDIX A
TYPEWRITER CHARACTER SET
[Appendix A may be obtained from the Project Secretary.]
SAILON-60: DOCUMENTATION; Computer Character Set B-1
APPENDIX B
Computer Character Set
There are 128 characters in the A. I. Laboratory internal
character set. Most peripheral devices are not able to produce or
accept all 128 characters and use codes that are slightly different
from the internal set. The time sharing monitor does code conversion
on both input and output, as needed, so the programmer ordinarily
need not be concerned with the peripheral codes.
B1. Internal Character Set
The internal character set and corresponding 7-bit octal
codes are given in Figure B-1.
Figure B-1 STANFORD A. I. CHARACTER SET
0 NULL 40 (space) 100 @ (at) 140 ` (accent)
1 ↓ (dn arrow) 41 ! (exclam) 101 A 141 a
2 α (alpha) 42 " (quote) 102 B 142 b
3 β (beta) 43 # (sharp) 103 C 143 c
4 ∧ (and) 44 $ (dollar) 104 D 144 d
5 ¬ (not) 45 % (percent) 105 E 145 e
6 ε (epsilon) 46 & (ampersand) 106 F 146 f
7 π (pi) 47 ' (apostrophe)107 G 147 g
10 λ (lambda) 50 ( (l paren) 110 H 150 h
11 TAB 51 ) (r paren) 111 I 151 i
12 LINE 52 * (star) 112 J 152 j
13 VTAB 53 + (plus) 113 K 153 k
14 FORM 54 , (comma) 114 L 154 l
15 RETURN 55 - (minus) 115 M 155 m
16 ∞ (infinity) 56 . (period) 116 N 156 n
17 ∂ (partial) 57 / (slash) 117 O 157 o
20 ⊂ (contains) 60 0 120 P 160 p
21 ⊃ (implies) 61 1 121 Q 161 q
22 ∩ (intersect) 62 2 122 R 162 r
23 ∪ (union) 63 3 123 S 163 s
24 ∀ (for all) 64 4 124 T 164 t
25 ∃ (exists) 65 5 125 U 165 u
26 ⊗ (circle x) 66 6 126 V 166 v
27 ↔ (dbl arrow) 67 7 127 W 167 w
30 _ (underbar) 70 8 130 X 170 x
31 → (rt arrow) 71 9 131 Y 171 y
32 ~ (tilde) 72 : (colon) 132 Z 172 z
33 ≠ (not eq) 73 ; (semicolon) 133 [ (l bracket)173 { (l brace)
34 ≤ (less eq) 74 < (less) 134 \ (backslash)174 | (v bar)
35 ≥ (grtr eq) 75 = (equal) 135 ] (r bracket)175 ALT
36 ≡ (identical) 76 > (greater) 136 ↑ (up arrow) 176 } (r brace)
37 ∨ (or) 77 ? (question) 137 ← (l arrow) 177 DELETE
SAILON-60: DOCUMENTATION; Computer Character Set B-2
The internal code is identical to USASCII with the following
exceptions.
Code(s) USASCII
1-10 <control characters>
16-37 <control characters>
136 <circumflex>
137 _
175 }
176 <overbar>
Note that circumflex and overbar do not appear in the internal
character set, while "_", "}" have been moved to other codes.
B2. Control Characters
There are a number of control characters that, when keyed in, are
absorbed and acted upon by the timesharing monitor. See SAILON-54
for details.
On output, the nine control characters are acted upon as follows:
NULL - no effect. This character is used internally to pad out
unused portions of words.
TAB - move right to the first column evenly divisible by 8.
LINE - line feed (moves paper up one line). The line printer
automatically skips to line 7 of the next page if past line
60 of the current one.
VTAB - vertical tab. Not generally used, but teletypes and displays
are programmed to skip 4 lines, while the line printer skips
to line 7, 25, or 43, whichever is next.
FORM - form feed. Teletypes and displays skip 8 lines, while the
line printer skips to the top of the next page.
RETURN- carriage return (moves print position to the left margin).
Must be used with LINE if paper is to be advanced.
SPACE- usual meaning.
ALT - no effect. Used mainly as an input control character in user
programs.
DELETE- no effect except for line printer, which interprets this as
an escape code and causes the next character only to have an
alternative meaning, as follows:
Code Internal char. Alternative meaning
0 NULL prints <center dot>
11 TAB prints <lower case gamma>
12 LINE prints <lower case delta>
13 VTAB prints <integral sign>
14 FORM prints <plus or minus>
15 RETURN prints <circle plus>
20 ⊂ skip to channel 2 (normally equivalent
to VTAB)
SAILON-60: DOCUMENTATION; Computer Character Set B-3
21 ⊃ skip to channel 3 (normally equivalent
to LINE but without automatic form feed)
22 ∩ skip to channel 4 (normally equivalent
to VTAB)
23 ∪ skip to channel 5 (normally equivalent
to VTAB)
24 ∀ skip to channel 6 (normally equivalent
to VTAB
177 DELETE prints "/"
All other characters are unchanged. The "channels" referred to above
are channels in the line printer's control tape.
In addition to the above control codes, the ARDS interprets a number
of characters in the left column of Figure B-1 in special ways. See
SAILON-56 for details.
B3 Printed Characters
The printed character set of our Teletype Model 33 and 35 correspond
to the middle two columns of Figure B-1 (i.e. codes 40 through 137).
The Model 37 and ARDS print the right three columns (codes 40 through
177), except that the ARDS substitutes "_" for "←" and <circumflex>
for "↑".
The printed characters of the III and DD displays and line printer
include the entire internal set.
SAILON-60: DOCUMENTATION; Media C-1
APPENDIX C. Media
Project documentation may take any of several forms, each with its
own controls and format. The principal alternatives are given below,
roughly in order of decreasing formality.
C1. External Publications
PURPOSE: communicate research results to the scientific and
technological communities.
CONTROLS: content of the article or paper should be reviewed by the
research supervisor, if different from the author. When sending off
for publication, it is important that the author retain a copy of the
paper, to prevent loss and insure that unauthorized changes are not
made.
FORMAT: determined by the publication. The first page must contain
a sponsor acknowledgement, where
<sponsor acknowledgement>→ The research reported here was supported
in part by <sponsor>.
<sponsor>→ The Advanced Research Projects Agency of the Office of the
Secretary of Defense under Contract SD-183
→ The National Institutes of Mental Health under
Grant PHS MH 066-45-08
→ <sponsor> and in part by <sponsor>.
DISTRIBUTION: by the publisher. In cases where the article has not
been published previously as an A.I. Memo, approximately 200 reprints
should be obtained and made available to interested persons,
including those on the A.I. Abstract list (see Section C3, below).
SAILON-60: DOCUMENTATION; Media C-2
C2. Film Reports.
PURPOSE: communicate to the scientific and technological
communities or the general public research results that lend
themselves to audio-visual presentation.
CONTROLS: content of the film should be reviewed by the research
supervisor. The budget must be pre-arranged with the Executive
Officer.
FORMAT: unconstrained except that a sponsor acknowledgement must be
included (see preceding section). 16 mm Ektachrome with sound is
usually a good film choice.
DISTRIBUTION: Several prints of each film are kept by the A.I.
Project Secretary for loan without charge to interested groups, with
the requirement that no admission fee be charged for viewing the
film. At least one print of each film is kept in the A.I. Conference
Room, for showings to visitors.
Anyone may purchase prints at cost (typically $30 to $50) from
Cine-Chrome Laboratories, 4075 Transport Street, Palo Alto,
California.
SAILON-60: DOCUMENTATION; Media C-3
C3. Artificial Intelligence Memos
PURPOSE: communicate research results, including theses, to the
computer science community, especially those interested in Artificial
Intelligence.
CONTROLS: memo contents should be reviewed by the research
supervisor. Memo numbers are assigned by the A. I. Project
Secretary. Departures from the standard format (below) or the
standard reproduction run are reviewed by the Executive Officer.
FORMAT: printed on 8.5x11 inch paper, one or both sides. For long
memos (say, greater than 30 pages) printing is on both sides.
Binding may be by a staple in the upper left corner, a plastic spiral
binder, or three staples on the left margin covered with cloth tape
on the outside. For the latter two, covers of heavier stock are
used. Where covers are used, the front one has the layout shown in
Figure C-1, where
<cover acknowledgement> → ADVANCED RESEARCH PROJECTS AGENCY
ARPA ORDER NO. 457
→ NATIONAL INSTITUTES OF MENTAL HEALTH
→ <cover acknowledgement>
AND
<cover acknowledgement>
If the memo is published jointly with some other organization, this
should be shown on the cover. If it is also a Computer Science
Report, then a <report inscription> should appear just above the
date, namely,
<report inscription> → TECHNICAL REPORT NO. CS<report number>
The <report number> is controlled by the Computer Science Department
and is administered by the reproduction group in the Computation
Center.
Whether or not there is a cover, the title page should appear as in
Figure C-2, where the <sponsor acknowledgement> is the same as given
in Section C1, above. If the memo is published jointly with another
organization or is a Computer Science Report, that information should
appear just below the top two lines of the title page. For Computer
Science Reports, the form is
COMPUTER SCIENCE DEPARTMENT
<report inscription>
where the <report inscription> is as given just above. Note that
there must be an abstract, which may run onto the next page if
necessary.
SAILON-60: DOCUMENTATION; Media C-4
[Figure C-1 A.I. Memo Cover]
STANFORD ARTIFICIAL INTELLIGENCE PROJECT
MEMO AIM-<memo number>
<title>
by
<author(s)>
SPONSORED BY
<cover acknowledgement>
<month & year>
COMPUTER SCIENCE DEPARTMENT
School of Humanities and Sciences
Stanford University
<Stanford Seal>
SAILON-60: DOCUMENTATION; Media C-5
[Figure C-2 A.I. Memo Title Page]
STANFORD ARTIFICIAL INTELLIGENCE PROJECT
MEMO AIM-<memo number> <month & year>
<title>
by
<author(s)>
ABSTRACT: <abstract>
<sponsor acknowledgement>
Reproduced in the USA. Available from the Clearinghouse for Federal
Scientific and Technical Information, Springfield, Virginia 22151.
Price: full size copy $3.00; microfiche copy $ .65.
SAILON-60: DOCUMENTATION; Media C-6
The format of the text is up to the author. An acknowledgement, if
included, may follow the abstract. A table of contents is
recommended. References are usually placed at the end of the memo
and page numbers are traditionally placed at the bottom center of
each page.
DISTRIBUTION: Copies of all A.I. Memos are sent to several groups,
including the sponsor organization, the Computer Science Library, and
indirectly to the Clearinghouse for Federal Scientific and Technical
Information, which will sell copies to nearly anyone for the amounts
shown at the bottom of Figure C-2.
Abstracts of new A.I. Memos are distributed periodically to all
Computer Science Faculty and Research Associates, the Computer
Science Advisory Committee, and leading computer science researchers,
especially those interested in artificial intelligence. Research
supervisors may place on this list anyone they wish, but are expected
to periodically review their list for currency.
Requests by anyone for one or a few memos are generally honored as
long as the supply lasts. Requests for large numbers of memos are
reviewed by the Executive Officer.
SAILON-60: DOCUMENTATION; Media C-7
C4. Operating Notes (SAILONs)
PURPOSE: describe the theory and operation of computer programs and
equipment in the Stanford Artificial Intelligence Laboratory. These
notes are intended for project use, but are distributed outside to
some extent, particularly for programs that are exported.
CONTROLS: content of each note is reviewed by the Computer System
Supervisor (current surrogate: Earnest). SAILON numbers are
assigned by the A.I. Project Secretary. Revisions are given
successive decimals (e. g. SAILON-50.1 is the first revision of
SAILON-50). Corrections or supplements are labelled as such (e.g.
"SAILON-50.1 Correction 2").
FORMAT: printed on 8.5x11 inch paper punched for three-ring
notebook. For short notes (say, less than 30 pages), printing is on
one side of each page, while for longer ones both sides are used.
Moderate size notes are fastened with a staple in the upper left
corner, while large ones are held together by a brass paper fastener.
The first page of each SAILON has the layout shown in Figure C-3,
where the <sponsor> is as defined in Section C1 above. For sizable
notes, it is good practice to have an abstract, table of contents,
and subject index.
Successive pages have "SAILON-<note number>" in the upper left
corner. It is desirable to show also a short version of the title at
the top of the page. For notes longer than 10 pages, it is preferable
to start each major section on a new page and number the pages by
section (in the form <section number>-<page number>) to facilitate
partial revision.
DISTRIBUTION: New notes may be picked up in the lobby of the A.I.
Project for at least one week after publication. There is currently
no other standard distribution of SAILONs. Reasonable requests from
anyone are generally honored as long as the supply lasts. Summaries
of current SAILONs are distributed occasionally to persons on the
A.I. Memo Abstract list.
SAILON-60: DOCUMENTATION; Media C-8
[Figure C-3 SAILON Title Page]
STANFORD ARTIFICIAL INTELLIGENCE LABORATORY
OPERATING NOTE <note number> <date>
<title>
by
<author(s)>
<abstract and/or introduction>
The work reported here was supported in part by the
<cover acknowledgement>.
SAILON-60: DOCUMENTATION; Media C-9
C5. Letters
PURPOSE: communicate on any topic with one or a few persons outside
Stanford.
CONTROLS: none. Copies of all outgoing correspondence should be
kept by the writer.
FORMAT: typed on 8.5x11 inch paper as shown in Figure C-4, where
<subject heading, if any>→ <null>
→ SUBJECT: <subject>
<references, if any> → <null>
→ REFERENCES: <reference list>
<reference list> → <reference>
→ <reference list>
<reference>
<reference> → <sequence integer>. <author(s)>, "<article title>",
<publication>,<date>.
→ <sequence integer>. <author(s)>, <BOOK TITLE>,
<publisher>, <city>, <year of publication>.
<closing> → Very truly yours
→ Sincerely
→ <your own thing>
<enclosures, if any> → <null>
→ Enclosures: <reference list>
<supplementary distribution, if any> → <null>
→ cc: <distribution list>
<distribution list> → <person>
→ <distribution list>
<person>
<person> → <name of Computer Science person>
→ <name of other person>,<address>
<blind distribution, if any> → <null>
→ bcc: <distribution list>
The blind distribution list appears only on the copies of persons on
that list and on the copy retained by the writer. If the letter is
more than one page long, the top line of succeeding pages should have
the following heading:
<addressee> -<page number>- <date>
DISTRIBUTION: as specified by the writer.
SAILON-60: DOCUMENTATION; Media C-10
[Figure C-4 Letter]
STANFORD UNIVERSITY
Stanford, California 94306
COMPUTER SCIENCE DEPARTMENT <date> Telephone:
(415)321-2300
Ext. 4971
<addressee's full name>
<address>
<subject heading, if any>
<references, if any>
Dear <addressee's short name>:
<text>
<closing>,
<signature>
<signer's name>
<signer's title>
<writer's initials>/<secretary's initials>
<enclosures, if any>
<supplementary distribution, if any>
<blind distribution, if any>
SAILON-60: DOCUMENTATION; Media C-11
C6. Memoranda
PURPOSE: communicate on any topic to other persons at Stanford.
CONTROLS: none.
FORMAT: printed on 8.5x11 inch paper and stapled in the upper left
corner. The first page has the heading shown in Figure C-5.
It is good practice to outline the intent of the memorandum in the
first sentence or two. Successive pages usually carry the same page
heading as letters. Enclosures, supplementary distribution, and
blind distribution may be specified at the end, as for letters (see
preceding section).
Optionally, the author may place his signature or initials next to
his name on the first page.
DISTRIBUTION: as specified by the writer.
[Figure C-5 Memorandum, first page]
STANFORD UNIVERSITY - OFFICE MEMORANDUM
<date>
TO: <addressee(s)>
FROM: <writer(s)>
SUBJECT: <subject>
<text>
SAILON-60: DOCUMENTATION; Media C-12
C7. Program Notes
PURPOSE: informal description of a small program or one that has not
yet been released for general use.
CONTROLS: none. If the note is in the form of a text file it may
be stored in [S,DOC] if it describes a SYS program, or in [UP,DOC] if
the program is kept in the author's file area. Users are on notice
that the latter programs may be changed at any time without warning.
In general, the name of the file in which a program note is stored
takes the form <program name>.<programmer's initials> .
FORMAT: when printed, it should fit on no more than 15 pages of
8.5x11 inches. (If larger, it should be published as a SAILON.) The
first line of text should contain
<title>:<date>
If the document is embedded in the source program, then the first
line may also contain other information on the left. Thus, a FAIL
program might take the form
TITLE <title>:<date>
while a SAIL program might begin
BEGIN "<title>:<date>
It is good form to include a section labelled OPERATION that
describes how to run the program, one labelled PROCESS that says
something about how the process is carried out and perhaps one on
FEATURES. It is a good idea to include examples of acceptable
inputs.
DISTRIBUTION: primarily through the computer, by the recipient. An
up-to-date copy of each note should be kept in the rolling reference
catalog in the computer room.
SAILON-60: DOCUMENTATION; Media C-13
C8. Notices
PURPOSE: announce to project members such things as forthcoming
events, new services, problems to be faced, or provocative ideas.
CONTROLS: none, except that notices are purged after awhile.
FORMAT: text file, typed or printed page, or a scribbled note. For
things that should be of interest to most computer users, the notice
may be put in the "message of the day", which is automatically
printed at login time at least once for each user. See a system
programmer if you want this done.
Announcements of events should clearly specify:
1) what is to happen,
2) who is invited,
3) the date, time, and place.
For seminars and such, don't forget to identify the speaker and his
topic.
DISTRIBUTION: a given "message of the day" should not be left in the
system longer than a week. Printed notices may be either distributed
(to mailboxes or desks), posted, or stacked on the table in the lobby
for people to take as they wish.
There are three main locations for posting notices:
1) the bulletin board next to the mailboxes is mainly for
official and semiofficial notices,
2) the board near the Prancing Pony is mainly for provocation
and amusement,
3) the board next to the computer room entrance carries
notices of interest to computer users.
In all cases, notices should be removed after about a week or after
the event described.
SAILON-60: DOCUMENTATION; Media C-14
C9. Messages
PURPOSE: brief communication on any topic from one individual to
another.
CONTROLS: none.
FORMAT: may be transmitted through the computer or as a scribbled
note.
To prepare a computer message, log in under [2,2] and create a text
file named "<addressee's initials>.MSG".
Two kinds of small preprinted pads are available in the supply room:
1) a MEMO designed to record incoming telephone calls and
visitors, and
2) a Stanford University Interdepartmental Memo designed for
short messages of any sort.
Whatever medium is used, the message should clearly identify who it
is from, who it is to, and the date.
DISTRIBUTION: a computer message is automatically called to the
attention of the addressee the next time he logs in. The
distribution of scribbled messages is left to the imagination of the
originator.
SAILON-60: DOCUMENTATION; COSTS D-1
APPENDIX D. COSTS
This appendix lists the data and assumptions used to develop the cost
estimates in Section 2 of the text.
D1. Text Preparation Equipment
The equipment cost estimates of Figure 2-2 in the text are based on
the following data.
Purchase Maintenance
(installation) (rental)
cost cost
Typewriter
IBM Model D typewriter(purchased) $450. $3.17/mo
Copy holder, typits, etc. 329. 0
PDP-10 terminals
Model 33 Teletype (ave. purchase) 883. 3.75
Model 37 Teletype (ave. purchase) 1,943. 3.75
ARDS terminal 14,685. 10.00
III display ($126,555 for 6) 21,093. 10.00
DD display ($102,000 for 30) 3,400. 4.00
Teletype port on computer 1,110. .25
Business phone and data set 75. 43.25
Business phone 10. 5.15
Acoustic coupler (ave. purchase) 267. .10
360/67 terminals
IBM 2741 (leased) 135. 148.25
If we write off the purchase or installation charges over appropriate
periods, an effective fixed monthly cost is obtained.
Write-off period Fixed cost
Typewriter
IBM Model D, purchased 5 years $10.67/mo
Copy holder, typits, etc. 5 5.48
-------
$16.15
Model 33 TTY at A.I.Lab
TTY, purchased 5 $18.46
computer port 5 18.75
-------
$37.21
Model 33 TTY at remote phone (assuming that there must be one Dataphone
input to the computer for every two remote TTYs)
TTY, purchased 5 $18.46
business phone 2 5.57
acoustic coupler 5 4.54
SAILON-60: DOCUMENTATION; COSTS D-2
1/2 computer port 5 9.38
1/2 business line and data set 5 22.25
-------
$60.20
Model 37 TTY at A.I. Lab
TTY, purchased 5 $36.14
computer port 5 18.75
-------
$54.89
ARDS terminal
ARDS, purchased 5 $254.75
computer port 5 18.75
-------
$273.50
III display terminal (each) 5 $361.55
DD display terminal 5 $60.60
IBM 2741 terminal 5 $153.87
The operating cost of the typewriter is mainly paper and ribbon:
bond paper $.0032 per page
typewriter ribbon .024 per page
Assuming 6 pages per hour, the operating cost is $.16 per hour.
The operating costs for the two sets of computer terminals are based
on the following schedules.
Connection CPU charge CPU time/ Operating
charge hr. of editing cost
PDP-10 Teletypes $0 /hr. $3.00/min. 1/3 min. $1.00/hr.
PDP-10 displays 0 3.00 1/2 1.50
360/67 terminals 3.50 9.00 1/6 5.00
Note that the connection costs for the PDP-10 have all been allocated
to the fixed monthly charge. The larger CPU time estimate for the
displays is based on the fact that people generally work faster with
displays than with teletypes.
SAILON-60: DOCUMENTATION; COSTS D-3
D2. Page Reproduction
The costs of copying a single page, as shown in Figure 2-4 of the
text, are developed here for several copying and printing devices and
services. Both average and marginal costs are given, where different.
The line printer in the A.I. Laboratory was purchased. When using it
as a copying device, there are startup costs, involving the necessity
of logging in and out, running a print program, and ejecting 5 extra
pages from the line printer at the end. The time required to print N
pages is approximately (30 + 10 N) seconds. The following
calculations assume an average volume of 35,000 printed pages per
month, which is about what we do.
Startup cost Page cost
line printer($47,500 purchase over 5 years
plus $15/month maintenance) $0. $.023
operator time ($6.00/hour) .05 .017
CPU time ($3.00 min. x 0.5 sec/page) .01 .025
paper ($.0032/page) .016 .0032
printer ribbon ($.0032/page) 0. .0032
----- -----
average cost (all elements) $ .08 + $.071/page
marginal cost (paper and ribbon) $ .016 + $.0064
The cost of printing upper-lower case text on the SCC line printer is
$5.00 for the print train change plus (at lowest priority)
$1.50 first 1K lines
+ $ 1.00/1K lines up to 40K
+ $ .45/1K lines after that.
Assuming an average of 50 lines per page, this works out as follows:
Pages Charge
1-20 $6.50
50 8.50
100 10.50
200 15.50
500 30.50
1000 50.00
2000 72.50
A Model 37 teletype prints a full page of single-spaced text in about
4 minutes. Assuming 120 hours/month operation, it could print about
1800 pages per month, with the following costs.
Startup cost Page cost
Teletype ($54.89/month, per
last section, or $.46/hour $.004 $0.029
operator time($6.00/hour) .05 .40
CPU time($3.00/min x 0.5sec/page .01 .025
paper(380 pages/roll @$.71/roll) .0019 .0019
ribbon ($.0011/page) .0011 .0011
------ -------
Average cost (all elements) $.07 + $ .46/page
SAILON-60: DOCUMENTATION; COSTS D-4
Marginal cost (paper and ribbon) $.003 + $ .003
The cost of printing on the IBM 2741 terminal connected to the
Computation Center 360/67, with the same assumptions as for the Model
37 teletype, is as follows. Printing time is essentially the same as
for the Model 37.
Startup cost Page cost
IBM 2741 terminal ($143.36/month,
or $1.19/hour) $0.01 $.08
operator time ($6.00/hour) .05 .40
terminal connection ($3.50/hour) .03 .23
CPU time ($9.00/min x .15sec/page) .01 .023
paper ($.003/page) .003 .003
ribbon ($.002/page) .002 .002
------ -----
Average cost (all elements) $ .11 + $.74/page
Marginal cost (last four) $ .05 + $.26/page
The Xerox 720 copier at the A.I. Laboratory is leased. Assuming
4,000 pages/month are copied, and the installation life is three
years, the following costs apply. The startup time is about 30
seconds and the copy rate is 12 copies per minute.
Startup cost Page cost
Xerox 720 ($80 install. + $25/mo.) $0.00 $.0068
operator time ($6.00/hour) .05 .008
Xerox page charges
copies 1-3 .045
copies 4-10 .030
copies 11 and up .020
paper .0032
toner .0008
----- -----
Average cost (all elements)
copies 1-3 $.05 + $.064/copy
copies 4-10 + .049
copies 11 and up + .039
Marginal cost (last three)
copies 1-3 $0 + .049/copy
copies 4-10 + .034
copies 11 and up + .024
Page charges for Xeroxing at the Computation Center are $.10/page for
the first 15 copies and $.05 for each additional.
Offset printing at the Computation Center is costed as follows.
master: $.40
paper ($1.60/ream quantized to 1/4 ream): $.40/125 pages
printing (3 min. setup, 9000 copies/hour @ $13.50/hour
SAILON-60: DOCUMENTATION; COSTS D-5
quantized to 5 minutes): $1.125/first 300 pages,
successive 750 pages.
Offset printing at SEL is costed as follows.
master: $.50
paper ($1.50/ream quantized to 1/4 ream): $.375/125 pages
printing (5 min. setup, 6000 copies/hour @$11.50 quantized to 1/4
hour): $2.875/first 1000 pages, successive 1500 pages.
The Stanford Photo Reproduction prices given in Figure 2-4 are taken
directly from published schedules.
D3. Report Reproduction
The costs of making 200 copies of several report sizes, as shown in
Figure 2-5 of the text, are developed here.
The A.I. line printer costs analyzed in the preceding section are
used. Since the person operating the printer can burst, trim, and
staple while printing proceeds, there is no additional cost for these
functions.
Report pages 10 50 100 200
line printing(ave.) $142. $710. $1420. $1840.
" (marg.) 13. 74. 148. 286.
The costs of using the A.I. Xerox, based on the preceding section,
are as follows.
Report pages 10 50 100 200
Xerox copying
($8.00/report page, ave) $80 $400 $800 $1600
collate and staple 1.5hr 8hr 16hr 32hr
($6.00/hour) 9 48 96 192
---- ---- ---- ----
Average cost $89 $448 $896 $1792
Marginal (copying) cost
($4.95/report page) $50 $248 $495 $ 990
The cost of using the Computation Center's Xerox is as follows.
Report pages 10 50 100 200
Xerox copying
($10.75/report page) $108 $538 $1075 $2150
SAILON-60: DOCUMENTATION; COSTS D-6
Collate and bind 1.5hr 4.5hr 7.5hr 15hr
($13.50/hour) 20 58 101 203
---- ---- ---- ----
Total cost $128 $596 $1176 $2353
The cost of Computation Center offset printing is estimated as
follows. It is assumed that the 10 page report is printed on one side
and not bound, while the others are printed on both sides and bound.
Report pages 10 50 100 200
masters ($.40) $ 4 $20 $40 $80
paper ($1.60/ream) 6 16 32 64
covers & bindings
($.10/set) 20 20 20
printing ($13.50/hour) 1hr 4hr 8hr 16hr
14 54 108 216
collating and binding 1.5hr 4.3hr 8hr 16hr
($13.50/hour) 20 58 101 203
---- ---- ---- ----
Total cost $44 $168 $301 $583
SEL offset printing is costed as follows, with the same assumptions
as for the Computation Center.
Report pages 10 50 100 200
masters ($.50) $ 5 $25 $50 $100
paper ($1.50/ream) 6 15 30 60
covers & bindings
($.05/set) 10 10 10
printing ($11.50/hour) 1hr 2.5hr 5hr 10hr
12 29 58 115
collating & binding 1.2hr 3hr 6hr 12hr
10 24 48 96
---- ---- ---- ----
Total cost $33 $103 $196 $381
GL printing charges are based on the following schedule, with a
minimum charge of $100.
One-sided printing: $1.25/report page + .005/sheet printed.
Two-sided printing: $2.48/2 report pages + .008/sheet printed.
Collating: $3.00/1000 sheets.
Stapling: $.01/staple.
Report pages 10 50 100 200
SAILON-60: DOCUMENTATION; COSTS D-7
printing $23 $102 $204 $408
collating 6 30 60 120
binding 2 5 5 5
---- ---- ---- ----
Total cost $100 $137 $267 $533
(min)
D4. Document Storage
The document storage costs presented in Figure 2-6 of the text are
developed here. We assume that pages hold an average of 3,600
characters each.
The cost of storing paper in a filing cabinet is estimated first.
storage cabinet ($80. over 5 years): $1.33/month.
space charge (10 square feet @$2./sq.ft./year): $1.67/month.
capacity (4 drawers of 6000 pages, 50% full): 12,000 pages
Average cost: $.00025/page/month
A.I. Magnetic tape ($20 over 3 years): $.56/month
capacity (2400ft. @556 bpi; 50% full): 1853 pages
Average cost: $.00030/page/month
SCC magnetic tape: $2.00/month
capacity (2400 ft. @ 800 bpi, 50% full): 3200 pages
Average cost: $.00063/month
Dectape ($15 over 3 years): $.42/month
capacity (590K words, 50% full): 410 pages
Average cost: $.0010/page/month
A.I. disk pack: $16/month
capacity (1024 words/track, 4000 tracks/disk, 75% full): 4267 pages
Cost: $.0037/page/month
S.C.C. disk pack: $40/month
capacity (7,188 bytes/track,4000 tracks/disk, 75% full): 5990 pages
Cost: $.0067/page/month
A.I. disk file(IBM 2314 Model A2, $3,100/month
+ 5 Memorex packs@ $16/month): $3,180/month
capacity (5 packs, 75% full): 21,333 pages
Cost: $.15/page/month
S.C.C. disk file {IBM 2314, $.015/track/day): $.45/track/month
capacity (7188 bytes/track, 80% full): 1.59 pages
Cost: $.28/page/month
SAILON-60: DOCUMENTATION; References E-1
Appendix E
References
1. S. Savitzky, "Son of Stopgap", SAILON 50.1, September 1969.
2. D. Swinehart, "TJ--A Text Justifier", Program Note, September
1969.
3. L. Earnest, "Freeforol", Program Note, 15 Oct. 1969.
4. "Campus Facility User's Manual", Stanford Computation Center.
5. K. Pingle, "MANLST--THE MANUAL LISTER", Program Note, January 1970
6. L. Earnest, "Display Plans", memorandum, January 1970.
7. R. Neeley. "PIX", Program Note, September 1969.
8. A. Moorer, "Stanford A.I. Project Monitor Manual, Chapter I--Console
Commands", SAILON-54.1, October 1969.
9. T. Panofsky, "Facility Manual", SAILON-56, to be published.
10. L. Earnest, "XEROX", program note, February 1970.